import config from '@/config/config.js';
import axios from 'axios';

const unitRequest = {
    loadUnitList(searchUnit, callback) {
        const url = `${config.mdBaseUrl}/unit/query`;

        axios.get(url, {
            params: {
                unitName: searchUnit.unitName || null,
                unitCode: searchUnit.unitCode || null,
            },
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else {
                console.error('请求失败:', res.data.message);
            }
        }).catch(error => {
            console.error('API请求出错:', error);
        });
    },

    loadMainUnitList(callback) {
        const url = `${config.mdBaseUrl}/unit/queryMainUnit`;

        axios.get(url, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else {
                console.error('请求失败:', res.data.message);
            }
        })
    },

    addUnit(unit, callback) {
        const url = `${config.mdBaseUrl}/unit/addUnit`;

        axios.post(url, unit, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else if (res.data.msg == "OK"){
                callback(res.data);
            }
            else {
                console.error('请求失败:', res.data.message);
            }
        })
    },
    deleteUnit(unitId, callback) {
        const url = `${config.mdBaseUrl}/unit/deleteByUnitId?unitId=${unitId}`;

        axios.delete(url, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else if (res.data.msg == "OK"){
                callback(res.data);
            }
            else {
                console.error('请求失败:',res.data.message);
            }
        })
    },
    loadUpdateInfo(unitId, callback){
        const url = `${config.mdBaseUrl}/unit/selectById?unitId=${unitId}`;
        axios.get(url, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else if (res.data.msg == "OK"){
                callback(res.data);
            }
            else {
                console.error('请求失败:',res.data.message);
            }
        })
    },
    EditDateSubmit(unit, callback){
        const url = `${config.mdBaseUrl}/unit/editUnit`;
        axios.post(url, unit, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else if (res.data.msg == "OK"){
                callback(res.data);
            }
            else {
                console.error('请求失败:',res.data.message);
            }
        })
    },
    deleteUnits(units,callback){
        const url = `${config.mdBaseUrl}/unit/deleteUnits`;
        axios.post(url, units, {
            headers: {
                token: localStorage.getItem("token") // 传递token进行身份验证
            }
        }).then(res => {
            if (res.data && res.data.code === 200) {  // 假设返回结果中有 code 字段来标识成功状态
                callback(res.data);
            } else if (res.data.msg == "OK"){
               callback(res.data);
            }
        })
    }
};

export default unitRequest;
